iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
1
Modern Web

30天帶你潮玩Spring Boot Zone系列 第 6

[Day 6] – Spring MVC(下)

  • 分享至 

  • xImage
  •  

閱讀時間: 10分鐘

MVC的三大元素

模型(Model)、視圖(View) 、控制器(Controller)
昨天跟大家講了控制器(Controller),今天就跟大家講模型(Model)和視圖(View)。

模型(Model):

進行資料管理和資料庫設計,所有是和數據庫有關的。
在建立跟數據庫有關的檔案時(.java),我們就需要準備一些資料。
第一: 一個數據庫設計工具(database design tool) [Spring Boot沒有內置,需要另行自選一個合適的]
第二: 數據庫設計(database design) 需要預先設計[數據庫的設計可以很複雜]
第三: 用作測試的數據(可有可無,但最好是有)

視圖(View):

大部份都是在客戶端的瀏覽器以.html文件的形式展示出來,也有其他類型(例如 .jsp)。
如果展示出來的東西會應用數據庫,就要配合模型(Model)-數據庫的資料。
如果展示出來的東西不會應用數據庫,就可以不用配合模型(Model)。

但它們的檔案位置分別存在哪裡?

以下是一個Spring Boot專案的完整目錄結構。
https://ithelp.ithome.com.tw/upload/images/20190911/201195698Mv38Gmz3x.jpg
1, 所有Controller/ Model都會存放在Java Resources > src/main/java 底下。
在底下可以建立不同的package,而package是可以用作檔案的分類。
例如 Controller有屬於Controller的package, Model有屬於Model的package。

https://ithelp.ithome.com.tw/upload/images/20190911/20119569jjFl858LBF.jpg
2, 所有View的文件都會存放在Java Resources > src/main/resources 底下。

MVC的整個流程是怎樣?

當你在客戶端的瀏覽器輸一個網址時就會觸發。
假設你輸入了http://localhost:8080/
系統就會先在去有@RestController注解的.java (即 Controller) 去查找有沒有一個@RequestMapping("/")的設定。如果是有的話,就要運行它下面的程式,否則就會報錯,同時會返回一個有錯誤提示的頁面說找不到相關設定。

@RequestMapping("/")
	public String hello(){
		return "Hey, Spring Boot 的 Hello World !";
	}

根據上面的例子,是有程式的,會運行public String hello()。

同時會查看程式內是否有向數據庫的請求,如果有的話就要根據相關設定去對應的數據庫獲取資料。否則就不會自己跑去找數據庫。
最後直到遇到return,return會返會相對應的頁面(例如: return “index”; 就會顯示index.html的頁面)。如果沒有找到index.html就會直接把index字串顯示在客戶端的瀏覽器的頁面上。

以上是Spring MVC的基礎講解,在往後的日子會再詳細深入講解各部分的核心原理。

如果有興趣想繼續了解和學習的話,歡迎訂閱及留意小弟的文章。


上一篇
[Day 5] – Spring MVC(上)
下一篇
[Day 7] –Spring Boot 資料庫管理系統 - MySQL Workbench安裝
系列文
30天帶你潮玩Spring Boot Zone15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言